# Generated by Django 3.2.16 on 2022-12-05 11:25

from django.conf import settings
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
import django.db.models.deletion
import mesagxilo.models
import siriuso.models.postgres
import siriuso.utils.modules
import uuid


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('main', '0001_squashed_0021_auto_20221025_0702'),
        ('komunumoj', '0001_squashed_0033_auto_20221013_0421'),
        ('muroj', '0001_squashed_0019_auto_20221025_0702'),
        ('informiloj', '0011_auto_20190609_0303'),
    ]

    operations = [
        migrations.CreateModel(
            name='MesagxiloUzantoOpcio',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('privata', models.IntegerField(default=0, verbose_name='Privata')),
                ('grupo', models.IntegerField(default=0, verbose_name='Grupo')),
                ('uzanto', models.OneToOneField(default=None, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Uzanto mesagxilo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilouzantoopcio_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Mesagxilo uzanto opcio',
                'verbose_name_plural': 'Mesagxiloj uzanto opcio',
                'db_table': 'mesagxilo_uzanto_opcio',
                'permissions': (('povas_vidi_uzanto_opcio', 'Povas vidi uzanto opcio'), ('povas_krei_uzanto_opcio', 'Povas krei uzanto opcio'), ('povas_forigi_uzanto_opcio', 'Povas forigu uzanto opcio'), ('povas_shanghi_uzanto_opcio', 'Povas ŝanĝi uzanto opcio')),
            },
        ),
        migrations.CreateModel(
            name='MesagxiloUzantoAliro',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('grupo', models.IntegerField(default=0, verbose_name='Grupo')),
                ('opcio', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='mesagxilo.mesagxilouzantoopcio', verbose_name='Uzanto opcio')),
                ('uzantoj', models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL, verbose_name='Uzanto opcio mesagxo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilouzantoaliro_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Mesagxilo uzanto aliro',
                'verbose_name_plural': 'Mesagxiloj uzanto aliro',
                'db_table': 'mesagxilo_uzanto_aliro',
                'permissions': (('povas_vidi_uzanto_aliro', 'Povas vidi uzanto aliro'), ('povas_krei_uzanto_aliro', 'Povas krei uzanto aliro'), ('povas_forigi_uzanto_aliro', 'Povas forigu uzanto aliro'), ('povas_shanghi_uzanto_aliro', 'Povas ŝanĝi uzanto aliro')),
            },
        ),
        migrations.CreateModel(
            name='MesagxiloBabilejo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('id', models.IntegerField(default=0, unique=True, verbose_name='ID')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Nomo')),
                ('bildo_info', models.ImageField(blank=True, upload_to=mesagxilo.models.mesagxilo_bildo, verbose_name='Infa bildo')),
                ('opcio_partoprenantoj', models.BooleanField(default=True, verbose_name='Opcio partoprenantoj')),
                ('opcio_info', models.BooleanField(default=True, verbose_name='Opcio informoj')),
                ('opcio_kovris', models.BooleanField(default=True, verbose_name='Opcio kovris')),
                ('opcio_aldoni', models.BooleanField(default=False, verbose_name='Opcio aldoni')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilobabilejo_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilobabilejo_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='mesagxilo_mesagxilobabilejo_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('opcio_del', models.BooleanField(default=False, verbose_name='Opcio del')),
                ('personal', models.BooleanField(default=True, verbose_name='Personal')),
                ('opcio_privata', models.BooleanField(default=True, verbose_name='Opcio privata')),
            ],
            options={
                'verbose_name': 'Babilejo',
                'verbose_name_plural': 'Babilejoj',
                'db_table': 'mesagxilo_babilejo',
                'permissions': (('povas_vidi_babilejo_modelo', 'Povas vidi babilejo modelo'),
                                ('povas_krei_babilejo_modelo', 'Povas krei babilejo modelo'),
                                ('povas_forigi_babilejo_modelo', 'Povas forigu babilejo modelo'),
                                ('povas_shanghi_babilejo_modelo', 'Povas ŝanĝi babilejo modelo')),
            },
        ),
        migrations.CreateModel(
            name='MesagxiloMesagxo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('teksto', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Teksto')),
                ('investoj', models.BooleanField(default=False, verbose_name='Investoj')),
                ('babilejo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='mesagxilo.mesagxilobabilejo', verbose_name='Babilejo')),
                ('mesagxo', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='mesagxilo.mesagxilomesagxo', verbose_name='Komento mesagxo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilomesagxo_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
                ('posedanto', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilomesagxo_posedanto', to=settings.AUTH_USER_MODEL, verbose_name='Posedanto')),
                ('komunumo', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='komunumoj.komunumo', verbose_name='Komunumo')),
                ('enskribo', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='muroj.muroenskribo', verbose_name='Muroj enskribo')),
                ('enskribo_uzanto', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='muroj.murojuzantoenskribo', verbose_name='Muroj enskribo')),
                ('vidita', models.BooleanField(blank=True, default=False, verbose_name='Vidita')),
            ],
            options={
                'verbose_name': 'Mesagxo',
                'verbose_name_plural': 'Mesagxoj',
                'db_table': 'mesagxilo_mesagxo',
                'permissions': (('povas_vidi_mesagxo', 'Povas vidi mesagxo'), ('povas_krei_mesagxo', 'Povas krei mesagxo'), ('povas_forigi_mesagxo', 'Povas forigu mesagxo'), ('povas_shanghi_mesagxo', 'Povas ŝanĝi mesagxo')),
            },
        ),
        migrations.CreateModel(
            name='MesagxiloPartoprenanto',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('babilejo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='mesagxilo.mesagxilobabilejo', verbose_name='Babilejo')),
                ('partoprenanto', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilopartoprenanto_partoprenanto', to=settings.AUTH_USER_MODEL, verbose_name='Partoprenanto')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilopartoprenanto_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
                ('sciigi', models.BooleanField(default=True, verbose_name='Sciigi')),
                ('lasta_mesagxo', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='mesagxilo.mesagxilomesagxo', verbose_name='Lasta mesagxo kiun vi legis')),
                ('is_admin', models.BooleanField(default=False, verbose_name='Admin babilejo')),
                ('posedanto', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='komunumoj.komunumo', verbose_name='Posedanto')),
            ],
            options={
                'verbose_name': 'Partoprenanto',
                'verbose_name_plural': 'Partoprenantoj',
                'db_table': 'mesagxilo_partoprenanto',
                'permissions': (('povas_vidi_partoprenanto', 'Povas vidi partoprenanto'), ('povas_krei_partoprenanto', 'Povas krei partoprenanto'), ('povas_forigi_partoprenanto', 'Povas forigu partoprenanto'), ('povas_shanghi_partoprenanto', 'Povas ŝanĝi partoprenanto')),
                'unique_together': {('partoprenanto', 'babilejo')},
            },
        ),
        migrations.CreateModel(
            name='MesagxiloSciigoj',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sciigi', models.BooleanField(default=True, verbose_name='Sciigi')),
                ('sciigi_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de sciigi')),
                ('partoprenanto', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='mesagxilo.mesagxilopartoprenanto', verbose_name='MesagxiloPartoprenanto')),
                ('sciigo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='informiloj.informilojsciigotipo', verbose_name='InformilojSciigoTipo')),
            ],
            options={
                'verbose_name': 'Mesagxilo sciigo',
                'verbose_name_plural': 'Mesagxoj sciigoj',
                'db_table': 'mesagxilo_sciigoj',
                'unique_together': {('partoprenanto', 'sciigo')},
            },
        ),
        migrations.CreateModel(
            name='MesagxiloMesagxoUzanto',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('mesagxo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='mesagxilo.mesagxilomesagxo', verbose_name='Mesagxo')),
                ('posedanto', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilomesagxouzanto_posedanto', to=settings.AUTH_USER_MODEL, verbose_name='Posedanto')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxilomesagxouzanto_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Mesagxo uzanto',
                'verbose_name_plural': 'Mesagxoj uzantoj',
                'db_table': 'mesagxilo_mesagxo_uzanto',
                'permissions': (('povas_vidi_mesagxo_uzanto', 'Povas vidi mesagxo uzanto'), ('povas_krei_mesagxo_uzanto', 'Povas krei mesagxo uzanto'), ('povas_forigi_mesagxo_uzanto', 'Povas forigu mesagxo uzanto'), ('povas_shanghi_mesagxo_uzanto', 'Povas ŝanĝi mesagxo uzanto')),
            },
        ),
        migrations.AddField(
            model_name='mesagxilobabilejo',
            name='mesagxo',
            field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='mesagxilo.mesagxilomesagxo', verbose_name='Kovris mesagxo'),
        ),
        migrations.CreateModel(
            name='MesagxiloInvestoj',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('dosiero', models.FileField(blank=True, upload_to=mesagxilo.models.mesagxilo_dosiero, verbose_name='Dosiero')),
                ('type_dosiero', models.IntegerField(default=0, verbose_name='Type dosiero')),
                ('babilejo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='mesagxilo.mesagxilobabilejo', verbose_name='Babilejo')),
                ('mesagxo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='mesagxilo.mesagxilomesagxo', verbose_name='Mesagxo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='mesagxilo_mesagxiloinvestoj_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Investoj',
                'verbose_name_plural': 'Investoj',
                'db_table': 'mesagxilo_investoj',
                'permissions': (('povas_vidi_investoj', 'Povas vidi investon'), ('povas_krei_investoj', 'Povas krei investon'), ('povas_forigi_investoj', 'Povas forigu investon'), ('povas_shanghi_investoj', 'Povas ŝanĝi investon')),
            },
        ),
        migrations.AddField(
            model_name='mesagxilopartoprenanto',
            name='sciigoj',
            field=models.ManyToManyField(blank=True, through='mesagxilo.MesagxiloSciigoj', to='informiloj.InformilojSciigoTipo', verbose_name='Sciigo (mesagxilo)'),
        ),
    ]
